jQuery(function() {
	jQuery(".info_password").keydown(function(event){
		var keycode = (event.keyCode ? event.keyCode : event.which);
		if(keycode == '13'){
			checkaccount('3');
			if(validateUsername==true && validateEmail==true && validatePass==true){
				jQuery("#next_step_three").click();
			}
		}		
	});
	
	jQuery(".validate").click(function() {
        jQuery(this).slideUp(400).fadeOut(300);
    });
	
	jQuery(".slide").easySlider( {
		auto : false,
		continuous : true
	});
	
	jQuery("#txtUserName").focus();

	// support popup dialog
	jQuery(".popup1 input").button();
	//jQuery("#showLoginDialog").fancybox();

	jQuery("#log_me_in").bind('click', function() {
		sendLogin();
	});

	jQuery("#login_password").keypress(function(event) {
		var keycode = (event.keyCode ? event.keyCode : event.which);
		if (keycode == '13') {
			sendLogin();
		}
	});
});

jQuery(function() {
	jQuery("#check").button();
	jQuery("#check").checked = false;
	jQuery(".checkbox_active").attr("aria-pressed", false);
});

jQuery(function() {
	jQuery("select.home_month").styledSelect( {
		cls : "select horizontalElect selectMonthHome"
	}, ".month");
	jQuery("select.home_day").styledSelect( {
		cls : "select horizontalElect selectDateHome"
	}, ".date");
	jQuery("select.home_year").styledSelect( {
		cls : "select horizontalElect selectYearHome"
	}, ".year");
});

var validateUsername = false;
var validateEmail = false;
var validatePass = false;
var checking = null;
function checkemail() {

}
function isValidEmail(strEmail) {
	var filter = /^([\w-]+(?:\.[\w-]+)*)@((?:[\w-]+\.)*\w[\w-]{0,66})\.([a-z]{2,6}(?:\.[a-z]{2})?)$/i
	if (filter.test(strEmail))
		return true;
	return false;
}

function checkaccount(type) {
	//prevent dead loop
	if(checking != null && checking != type)
		return;
	checking = type;
	
	var username = jQuery.trim(jQuery('.info_account').val());
	if (type == '2') {		
		username = jQuery.trim(jQuery('.info_email').val());
	}
	if (type == '3') {
		username = jQuery.trim(jQuery('.info_password').val());
	}
	jQuery('.validate').hide();
	if (type == '3') {
		if (username.length < 6) {
			jQuery('.pass_info_account_password1').html('');
			jQuery('.pass_info_account_password1').attr("class", "pass_info_account_password");
			jQuery('.info_password').focus();
			jQuery('.validate').slideDown(400).fadeIn(300);
			jQuery('#spErr').html(
					'Mật khẩu phải ít nhất 6 ký tự. Xin vui lòng nhập lại!');
			jQuery('.validate').attr("style", "left:655px; top:198px;");
			validatePass = false;
		}else {
			jQuery('.pass_info_account_password').attr("class", "display pass_info_account_password1");
			validatePass = true;
			checking = null;
		}
	} else if (type == '1' && username.length < 5) {
		jQuery('.pass_info_account').removeClass('display');
		jQuery('.validate').slideDown(400).fadeIn(300);
		jQuery('#spErr').html('Chú ý! Tên đăng nhập phải ít nhất 5 ký tự');
		jQuery('.validate').attr("style", "left:90px; top:198px;");
		validateUsername = false;
		jQuery('.info_account').focus();
	} else if(type == '1' && isDoubleByte(username)){
		jQuery('.pass_info_account').removeClass('display');
		jQuery('.validate').slideDown(400).fadeIn(300);
		jQuery('#spErr').html('Chú ý! Tên đăng nhập không được có dấu và ký tự đặc biệt');
		jQuery('.validate').attr("style", "left:90px; top:198px;");
		validateUsername = false;
		jQuery('.info_account').focus();
	} else if(type == '1' && hasSpaceInside(username)){
		jQuery('.pass_info_account').removeClass('display');
		jQuery('.validate').slideDown(400).fadeIn(300);
		jQuery('#spErr').html('Chú ý! Tên đăng nhập không được có khỏang trắng');
		jQuery('.validate').attr("style", "left:90px; top:198px;");
		validateUsername = false;
		jQuery('.info_account').focus();
	} else if (type == '2' && !isValidEmail(username)) {
		jQuery('.pass_info_email').removeClass('display');
		jQuery('.info_email').focus();
		jQuery('.validate').slideDown(400).fadeIn(300);
		jQuery('#spErr').html(
				'Email chưa hợp lệ, hãy nhập đúng địa chỉ email của bạn!');
		jQuery('.validate').attr("style", "left:370px; top:198px;");
		validateEmail = false;
	} else {
		if (type == '1') {
			jQuery('.pass_info_account').html(
					'<img src="images/ajaxloading.gif" />');
			UserManagerExt
					.validateUsername(
							username,
							{
								callback : function(result) {
									if (result == '0') {
										jQuery('.pass_info_account').attr(
												"class", "display pass_info_account1");
										validateUsername = true;
										checking = null;
									} else {
										jQuery('.pass_info_account1').html('');
										jQuery('.info_account').focus();
										jQuery('.validate').slideDown(400)
												.fadeIn(300);
										jQuery('#spErr')
												.html(
														'Tên tài khoản này đã được đăng ký. Xin vui lòng sử dụng tên khác!');
										jQuery('.validate').attr("style",
												"left:90px; top:198px;");
										jQuery('.pass_info_account1').attr("class", "pass_info_account");
										validateUsername = false;
									}
								}
							});
		}
		if (type == '2') {
			jQuery('.pass_info_email').html(
					'<img src="images/ajaxloading.gif" />');
			UserManagerExt
					.validateEmail(
							username,
							{
								callback : function(result) {
									if (result == '0') {
										jQuery('.pass_info_email').attr(
												"class", "display pass_info_email1");
										validateEmail = true;
										checking = null;
									} else {
										jQuery('.pass_info_email1').html('');
										jQuery('.info_email').val('');
										jQuery('.info_email').focus();
										jQuery('.validate').slideDown(400)
												.fadeIn(300);
										jQuery('#spErr')
												.html(
														'Địa chỉ email này đã được đăng ký, xin vui lòng kiểm tra lại!');
										jQuery('.validate').attr("style",
												"left:370px; top:198px;");
										jQuery('.pass_info_email1').attr("class", "pass_info_email");
										validateEmail = false;
									}
								}
							});
		}
		if (type == '3')
			jQuery('.pass_info_account_password').html(
					'<img src="images/ajaxloading.gif" />');
		obj_data = {
			username : username,
			t : type
		}
	}
}
function register() {
	// check iGoal agreement
	if (jQuery("label[for=check]").hasClass('checkbox_active')) {
		user = {
			username : jQuery('.info_account').val(),
			email : jQuery('.info_email').val(),
			password : jQuery('.info_password').val(),
			gender : jQuery('#hidGender').val(),
			day : jQuery("#day").val(),
			month : jQuery("#month").val(),
			year : jQuery("#year").val()
		}
		UserManagerExt.register(user, {
			callback : function(result) {
				if (result > 0)
					// window.location = "findfriend.html";
					jQuery.doPost(ctx+'/j_spring_security_check', {
						j_username : user.username,
						j_password : user.password,
						register : 'register'
					});
				else
					iAlert('Đăng ký không thành công!');
			},
			errorHandler : function(errorString, exception) {
				iAlert('Đăng ký không thành công!');
			}
		});
	} else {
		iAlert("Xin vui lòng đọc và đồng ý với các quy định của iGoal!");
	}
}

function validate() {
//	if (!validateUsername) {
//		checkaccount('1');
//		return false;
//	} else if (!validateEmail) {
//		checkaccount('2');
//		return false;
//	} else if (!validatePass) {
//		checkaccount('3');
//		return false;
//	}
//	return true
	checkaccount('1');
	if(validateUsername){
		checkaccount('2');
		if(validateEmail){
			checkaccount('3');
		}
	}
	
	return validateUsername && validateEmail && validatePass;
}
function checkgender(gender) {
	if (gender == 'male') {
		jQuery('.gender dd a').addClass('male');
		jQuery('.gender dt a').removeClass('female');
		jQuery('#hidGender').val(true);
	} else {
		jQuery('.gender dt a').addClass('female');
		jQuery('.gender dd a').removeClass('male');
		jQuery('#hidGender').val(false);
	}
}

function sendLogin() {	
	username = jQuery("#login_username").attr("value");
	password = jQuery("#login_password").attr("value");
	remember = jQuery("#login_remember").attr("checked");

	if (validateLogin(username, password)) {
		jQuery.doPost(ctx+'/j_spring_security_check', {
			j_username : username,
			j_password : password,
			_spring_security_remember_me : remember
		});
//		jQuery("form#login_form").submit();
	}
}

function validateLogin(username, password) {
	if (username == "" || username == "tài khoản...") {
		jQuery("#login_username").focus();
		return false;
	} else if (password == "mật khẩu..." || password == "") {
		jQuery("#login_password").focus();
		return false;
	}
	return true;
}
